Termination w.r.t. Q of the following Term Rewriting System could be disproven:

Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
and(tt, X) → activate(X)
length(nil) → 0
length(cons(N, L)) → s(length(activate(L)))
zerosn__zeros
activate(n__zeros) → zeros
activate(X) → X

Q is empty.


QTRS
  ↳ RRRPoloQTRSProof

Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
and(tt, X) → activate(X)
length(nil) → 0
length(cons(N, L)) → s(length(activate(L)))
zerosn__zeros
activate(n__zeros) → zeros
activate(X) → X

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
and(tt, X) → activate(X)
length(nil) → 0
length(cons(N, L)) → s(length(activate(L)))
zerosn__zeros
activate(n__zeros) → zeros
activate(X) → X

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

and(tt, X) → activate(X)
Used ordering:
Polynomial interpretation [25]:

POL(0) = 0   
POL(activate(x1)) = x1   
POL(and(x1, x2)) = 1 + 2·x1 + 2·x2   
POL(cons(x1, x2)) = 2·x1 + 2·x2   
POL(length(x1)) = 2·x1   
POL(n__zeros) = 0   
POL(nil) = 0   
POL(s(x1)) = 2·x1   
POL(tt) = 0   
POL(zeros) = 0   




↳ QTRS
  ↳ RRRPoloQTRSProof
QTRS
      ↳ RRRPoloQTRSProof

Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(nil) → 0
length(cons(N, L)) → s(length(activate(L)))
zerosn__zeros
activate(n__zeros) → zeros
activate(X) → X

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(nil) → 0
length(cons(N, L)) → s(length(activate(L)))
zerosn__zeros
activate(n__zeros) → zeros
activate(X) → X

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

length(nil) → 0
Used ordering:
Polynomial interpretation [25]:

POL(0) = 0   
POL(activate(x1)) = x1   
POL(cons(x1, x2)) = 2·x1 + x2   
POL(length(x1)) = 2·x1   
POL(n__zeros) = 0   
POL(nil) = 2   
POL(s(x1)) = x1   
POL(zeros) = 0   




↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
QTRS
          ↳ RRRPoloQTRSProof

Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(cons(N, L)) → s(length(activate(L)))
zerosn__zeros
activate(n__zeros) → zeros
activate(X) → X

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(cons(N, L)) → s(length(activate(L)))
zerosn__zeros
activate(n__zeros) → zeros
activate(X) → X

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

zerosn__zeros
Used ordering:
Polynomial interpretation [25]:

POL(0) = 0   
POL(activate(x1)) = 2·x1   
POL(cons(x1, x2)) = x1 + 2·x2   
POL(length(x1)) = 2·x1   
POL(n__zeros) = 1   
POL(s(x1)) = x1   
POL(zeros) = 2   




↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
QTRS
              ↳ RRRPoloQTRSProof

Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(cons(N, L)) → s(length(activate(L)))
activate(n__zeros) → zeros
activate(X) → X

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(cons(N, L)) → s(length(activate(L)))
activate(n__zeros) → zeros
activate(X) → X

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

activate(X) → X
Used ordering:
Polynomial interpretation [25]:

POL(0) = 0   
POL(activate(x1)) = 1 + x1   
POL(cons(x1, x2)) = 1 + 2·x1 + x2   
POL(length(x1)) = 2·x1   
POL(n__zeros) = 0   
POL(s(x1)) = x1   
POL(zeros) = 1   




↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
QTRS
                  ↳ Overlay + Local Confluence

Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(cons(N, L)) → s(length(activate(L)))
activate(n__zeros) → zeros

Q is empty.

The TRS is overlay and locally confluent. By [19] we can switch to innermost.

↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
QTRS
                      ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(cons(N, L)) → s(length(activate(L)))
activate(n__zeros) → zeros

The set Q consists of the following terms:

zeros
length(cons(x0, x1))
activate(n__zeros)


Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(N, L)) → LENGTH(activate(L))
LENGTH(cons(N, L)) → ACTIVATE(L)
ACTIVATE(n__zeros) → ZEROS

The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(cons(N, L)) → s(length(activate(L)))
activate(n__zeros) → zeros

The set Q consists of the following terms:

zeros
length(cons(x0, x1))
activate(n__zeros)

We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
QDP
                          ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(N, L)) → LENGTH(activate(L))
LENGTH(cons(N, L)) → ACTIVATE(L)
ACTIVATE(n__zeros) → ZEROS

The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(cons(N, L)) → s(length(activate(L)))
activate(n__zeros) → zeros

The set Q consists of the following terms:

zeros
length(cons(x0, x1))
activate(n__zeros)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 2 less nodes.

↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
QDP
                              ↳ UsableRulesProof

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(N, L)) → LENGTH(activate(L))

The TRS R consists of the following rules:

zeroscons(0, n__zeros)
length(cons(N, L)) → s(length(activate(L)))
activate(n__zeros) → zeros

The set Q consists of the following terms:

zeros
length(cons(x0, x1))
activate(n__zeros)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
                            ↳ QDP
                              ↳ UsableRulesProof
QDP
                                  ↳ QReductionProof

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(N, L)) → LENGTH(activate(L))

The TRS R consists of the following rules:

activate(n__zeros) → zeros
zeroscons(0, n__zeros)

The set Q consists of the following terms:

zeros
length(cons(x0, x1))
activate(n__zeros)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

length(cons(x0, x1))



↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
QDP
                                      ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(N, L)) → LENGTH(activate(L))

The TRS R consists of the following rules:

activate(n__zeros) → zeros
zeroscons(0, n__zeros)

The set Q consists of the following terms:

zeros
activate(n__zeros)

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule LENGTH(cons(N, L)) → LENGTH(activate(L)) at position [0] we obtained the following new rules:

LENGTH(cons(y0, n__zeros)) → LENGTH(zeros)



↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
                                    ↳ QDP
                                      ↳ Narrowing
QDP
                                          ↳ UsableRulesProof

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(y0, n__zeros)) → LENGTH(zeros)

The TRS R consists of the following rules:

activate(n__zeros) → zeros
zeroscons(0, n__zeros)

The set Q consists of the following terms:

zeros
activate(n__zeros)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
                                    ↳ QDP
                                      ↳ Narrowing
                                        ↳ QDP
                                          ↳ UsableRulesProof
QDP
                                              ↳ QReductionProof

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(y0, n__zeros)) → LENGTH(zeros)

The TRS R consists of the following rules:

zeroscons(0, n__zeros)

The set Q consists of the following terms:

zeros
activate(n__zeros)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

activate(n__zeros)



↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
                                    ↳ QDP
                                      ↳ Narrowing
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
QDP
                                                  ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(y0, n__zeros)) → LENGTH(zeros)

The TRS R consists of the following rules:

zeroscons(0, n__zeros)

The set Q consists of the following terms:

zeros

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule LENGTH(cons(y0, n__zeros)) → LENGTH(zeros) at position [0] we obtained the following new rules:

LENGTH(cons(y0, n__zeros)) → LENGTH(cons(0, n__zeros))



↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
                                    ↳ QDP
                                      ↳ Narrowing
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
                                                ↳ QDP
                                                  ↳ Rewriting
QDP
                                                      ↳ UsableRulesProof

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(y0, n__zeros)) → LENGTH(cons(0, n__zeros))

The TRS R consists of the following rules:

zeroscons(0, n__zeros)

The set Q consists of the following terms:

zeros

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
                                    ↳ QDP
                                      ↳ Narrowing
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
                                                ↳ QDP
                                                  ↳ Rewriting
                                                    ↳ QDP
                                                      ↳ UsableRulesProof
QDP
                                                          ↳ QReductionProof

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(y0, n__zeros)) → LENGTH(cons(0, n__zeros))

R is empty.
The set Q consists of the following terms:

zeros

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

zeros



↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
                                    ↳ QDP
                                      ↳ Narrowing
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
                                                ↳ QDP
                                                  ↳ Rewriting
                                                    ↳ QDP
                                                      ↳ UsableRulesProof
                                                        ↳ QDP
                                                          ↳ QReductionProof
QDP
                                                              ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(y0, n__zeros)) → LENGTH(cons(0, n__zeros))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule LENGTH(cons(y0, n__zeros)) → LENGTH(cons(0, n__zeros)) we obtained the following new rules:

LENGTH(cons(0, n__zeros)) → LENGTH(cons(0, n__zeros))



↳ QTRS
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ Overlay + Local Confluence
                    ↳ QTRS
                      ↳ DependencyPairsProof
                        ↳ QDP
                          ↳ DependencyGraphProof
                            ↳ QDP
                              ↳ UsableRulesProof
                                ↳ QDP
                                  ↳ QReductionProof
                                    ↳ QDP
                                      ↳ Narrowing
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
                                                ↳ QDP
                                                  ↳ Rewriting
                                                    ↳ QDP
                                                      ↳ UsableRulesProof
                                                        ↳ QDP
                                                          ↳ QReductionProof
                                                            ↳ QDP
                                                              ↳ Instantiation
QDP
                                                                  ↳ NonTerminationProof

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(0, n__zeros)) → LENGTH(cons(0, n__zeros))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We used the non-termination processor [17] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

The TRS P consists of the following rules:

LENGTH(cons(0, n__zeros)) → LENGTH(cons(0, n__zeros))

The TRS R consists of the following rules:none


s = LENGTH(cons(0, n__zeros)) evaluates to t =LENGTH(cons(0, n__zeros))

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from LENGTH(cons(0, n__zeros)) to LENGTH(cons(0, n__zeros)).